home *** CD-ROM | disk | FTP | other *** search
- 1000 ; ggimagesample date: 10-03-88
- 1010 ;---------------------------------
- 1020 ;
- 1030 ; the final cartridge iii desktop
- 1040 ;
- 1050 ; riska h&p, marc derksen
- 1060 ;
- 1070 ; p r o j e c t d e m o
- 1080 ;
- 1090 ;---------------------------------
- 1100 ;
- 1110 *=$0be1,$0801
- 1120 buf0=$a3
- 1130 buf1=$a4
- 1140 gosub=$de05 ; system constants
- 1150 close=$01
- 1160 toback=$02
- 1170 dragbr=$08
- 1180 invert=$01
- 1190 release=$10
- 1200 ;
- 1210 ;------ basic startup data -----
- 1220 wor $0817,1987 ; line number
- 1230 byt $9e ; basic sys-code
- 1240 byt "2076 desk[164]p v1.0",0,0,0
- 1250 byt 1,0 ; version
- 1260 byt 2 ; size in blocks
- 1270 jmp $dfe8 ; startup
- 1280 byt 0 ; unused
- 1290 ;
- 1300 mn3it1=$c0c2
- 1310 mn3it2=$c0ca
- 1320 ;------ main ------------------
- 1330 start jsr survive
- 1340 ldx #<item2 ; set new menu
- 1350 ldy #>item2
- 1360 stx mn3it1
- 1370 sty mn3it1+1
- 1380 rts
- 1390 ;
- 1400 ;------ menuitem structure ---
- 1410 item2 wor item3 ; nextitem
- 1420 wor it2txt ; item name
- 1430 wor openwd ; item exec
- 1440 byt 1,0 ; enable item
- 1450 item3 wor 0 ; no nextitem
- 1460 wor it3txt
- 1470 wor unlink
- 1480 byt 1,0
- 1490 ;
- 1500 it2txt byt "[196][197][205][207][160][215][196]",0
- 1510 it3txt byt "[213][206][204][201][206][203]",0
- 1520 ;
- 1530 ggflags=invert+release
- 1540 ;------ window ---------------
- 1550 openwd ldx #<window ; call openwd
- 1560 ldy #>window
- 1570 lda #openwindow
- 1580 jmp gosub
- 1590 ;
- 1600 window wor gadget ; first gadget
- 1610 byt 40,40 ; wdx,wdy
- 1620 byt 110,50 ; width,height
- 1630 wor wdtitle ; window name
- 1640 byt close+toback+dragbr ; wdflags
- 1650 byt 66 ; wdtitle size
- 1660 wor 0,0
- 1670 ;
- 1680 gadget wor 0 ; next gadget
- 1690 byt 24,20 ; ggx,ggy
- 1700 byt 29,18 ; width,height
- 1710 wor ggtext ; gadget text
- 1720 byt ggflags ; gadget flags
- 1730 wor 0,ggexec ; gadget exec
- 1740 wor ggimage ; gadget data image
- 1750 ;
- 1760 wdtitle byt "[205]y [215]indow",0
- 1770 ggtext byt 37,10,1,"[201][205][193][199][197]",0
- 1780 ggimage byt 2,2,<imdat,>imdat
- 1790 ;
- 1800 imdat byt 26-1,15-1,7,4
- 1810 byt $e0,$f1,$ff,$c0,$a0,$91,0,$40
- 1820 byt $a0,$91,$7e,64,$a0,$91,$42,64
- 1830 byt $a0,$91,$42,64,$a0,$91,$42,64
- 1840 byt $bf,$91,$7e,$40,$80,$11,0,$40
- 1850 byt $9f,$d1,$3f,$c0,$90,$51,$20,0
- 1860 byt $90,$51,$20,$00,$90,$55,$20,0
- 1870 byt $90,$5f,$20,$00,$90,$55,$20,0
- 1880 byt $f0,$7f,$e0,$00
- 1890 ;
- 1900 ;------ gadget exec ----------
- 1910 ggexec inc $d020 ; gadget clicked
- 1920 rts
- 1930 ;
- 1940 ;------ unlink ---------------
- 1950 unlink ldx #<window ; close wd
- 1960 ldy #>window
- 1970 jsr closewd
- 1980 ldx #<mn3it2 ; remove menu
- 1990 ldy #>mn3it2
- 2000 stx mn3it1
- 2010 sty mn3it1+1
- 2020 inc $8004 ; remove survive
- 2030 rts
- 2040 ;
- 2050 ;------ close window ---------
- 2060 closewd stx buf0
- 2070 sty buf1
- 2080 lda #wdonscreen ; if wd open
- 2090 jsr gosub
- 2100 iny
- 2110 beq not
- 2120 ldx buf0 ; then closewd
- 2130 ldy buf1
- 2140 lda #setcurwd
- 2150 jsr gosub
- 2160 lda #wdclose
- 2170 jsr gosub
- 2180 not rts
- 2190 ;
- 2200 ;------ reset survive --------
- 2210 survive ldx #6-1 ; install code
- 2220 slp lda tabel,x
- 2230 sta $8000,x
- 2240 dex
- 2250 bpl slp
- 2260 rts
- 2270 tabel wor start+3
- 2280 byt "mg87"
- 2290 ;
- 2300 ;------ includes -------------
- 2310 openwindow=48
- 2320 wdonscreen=70
- 2330 wdclose=65
- 2340 setcurwd=29
-